package org.example.cloud.config;

import feign.Logger;
import feign.Retryer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author 宋孟林
 * @description RetryConfig配置。配置OpenFeign的请求失败的尝试策略，默认为不尝试。
 * @date: 2025/4/7 12:40
 */
@Configuration
public class ReTryConfig {
    @Bean
    public Retryer retryer(){
        //表示初始间隔时间为100ms，最大间隔时间为1s，最大尝试次数为3次
        //在第一次请求100ms内没有响应就开启重试策略，如果第一次没有响应。总共请求3次。
        return new Retryer.Default(100, 1, 3);
    }

    /**
     * open feign的日志配置
     * @return level
     */
    @Bean
    Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }

}
